package ywpt.service.client;

import java.util.List;

import org.hibernate.criterion.DetachedCriteria;

import ywpt.model.ClientSoft;

public interface ClientSoftService {

	public abstract ClientSoft getClientSoftById(Long id);

	public abstract int getClientSoftCountByCriteria(DetachedCriteria query);

	public abstract List<ClientSoft> getClientSofts(
			DetachedCriteria query, int pageSize, int startIndex);

	public abstract String createSoftCode();

	public abstract void saveClientSoft(ClientSoft clientSoft, Long clientId,
			Long keshiId, Long providerId, Long linkmanId,Long natureId,Long stateId);

	public abstract void updateClientSoft(ClientSoft clientSoft, Long clientId,
			Long keshiId, Long providerId, Long linkmanId,Long natureId,Long stateId);

	public abstract void removeClientSoft(Long id);

	public abstract List<ClientSoft> getClientSofts();

	public abstract List<ClientSoft> getClientSofts(DetachedCriteria query);
	
	public abstract int getSoftCountByName(String softName,Long clientId);
	
	public abstract List<ClientSoft> getSoftBySoftName(String softName,Long clientId, int start, int size);
	
}
